home *** CD-ROM | disk | FTP | other *** search
/ United Public Domain Gold 2 / United Public Domain Gold 2.iso / utilities / pu309.dms / pu309.adf / Heading (.txt) < prev    next >
AmigaBASIC Source Code  |  1990-09-03  |  5KB  |  191 lines

  1. TOP:
  2.    GOSUB INIT:GOSUB 80:GOTO CSH
  3. 80 :
  4.    title$=SPACE$(Z)+"LOGBOOK "+SU$(1)
  5.    WINDOW 2,title$,(0,0)-(631,186),16
  6.  
  7. 81 : 'Window 2
  8.    COLOR 2,3:CLS:COLOR 2,1
  9.    tp=32:bt=155:lf=8:rt=626
  10.    LINE (4,tp)-(627,bt+2),2,bf ' black shadow
  11.    LINE (lf,tp)-(rt,bt),1,bf   ' white box
  12.    LINE (lf,tp)-(rt,tp)
  13.    LINE (4,22)-(625,24),2,bf
  14.    LINE (4,24)-(8,32),2,bf
  15.    LINE (624,22)-(627,bt),2,bf
  16.    LINE (lf,bt)-(rt,bt)
  17.    LOCATE 4,2:COLOR 1,2:FOR I= 1 TO 77:PRINT " ";:NEXT
  18.    LOCATE 4,2:PRINT " WARNING ! ! ! This Program Can Destroy your FILES - Be CAREFULL" 
  19.    COLOR 1,3:LOCATE 2,9:PRINT "SET-UP PROGRAM FOR CREATING YOUR CALL-SIGN-HEADING AND FILES..."
  20.    COLOR 2,1
  21.    IF FL=3 THEN RETURN
  22.    LOCATE 7,5:PRINT "Type in YOUR Call-sign.......... ";:PRINT SU$(1)
  23.    LOCATE 9,5:PRINT "Current space on Data-FILE...... ";:PRINT SU$(2)
  24.    LOCATE 11,5:PRINT"Increase space on Data-File to.. ";:PRINT SU$(3)
  25.    LOCATE 13,5:PRINT"Number of Lines Printed on Sheet ";:PRINT SU$(4) :LOCATE 13,43:PRINT "(Default 31)"
  26.    LOCATE 15,5:PRINT "Move CURSOR with ENTER key - Type in INFO [ RETURN ] "
  27.    LOCATE 17,5:COLOR 1,2:PRINT " WARNING !! IF YOU CHANGE CURRENT SPACE TO LOWER FIGURE YOU DESTROY DATA "
  28.    LINE (32,127)-(615,127),2,bf
  29.    COLOR 2,3:
  30.    LOCATE 22,5:PRINT "TO SAVE INFO TO FILE * PRESS * > Esc <"
  31.    LOCATE 23,5:PRINT "TO GO BACK TO LOGBOOK * PRESS * > Del <";:
  32.    COLOR 2,1
  33. RETURN   
  34.    
  35. CSH: 'Call-Sign-Heading
  36.    PTR=7:LP=38:SS$=LEFT$(SU$(1),1)
  37.    LL=LEN(SU$(1))
  38.    LOCATE PTR,LP:GOSUB GAK
  39.    IF C$="" THEN LOCATE PTR,LP:PRINT SU$(1):GOTO CSP
  40.    SU$(1)=C$
  41.    FOR I = 1 TO LL:LOCATE PTR,LP-1+I:PRINT " ":NEXT
  42.    LOCATE PTR,LP:PRINT SU$(1)
  43.    
  44. CSP:
  45.    PTR=9:LP=38:SS$=LEFT$(SU$(2),1)
  46.    LOCATE PTR,LP:PRINT"     ":LOCATE PTR,LP:PRINT  SU$(2)
  47.    LOCATE PTR,LP:GOSUB GAK   
  48.    IF C$="" THEN LOCATE PTR,LP:PRINT SU$(2):GOTO NSP
  49.    SU$(2)=C$:
  50.    IF SU$(2) = "1" THEN PRINT CHR$(7):GOSUB WARN:LOCATE PTR,LP:PRINT "     (Old = ";US$(2);")":LOCATE PTR,LP:PRINT SU$(2):GOTO NSP
  51.    IF SU$(2) <> US$(2) THEN PRINT CHR$(7):GOSUB WARN:SU$(2)=US$(2):GOTO CSP
  52.    LOCATE PTR,LP:PRINT"                 ":LOCATE PTR,LP:PRINT SU$(2)
  53.    
  54. NSP:
  55.    PTR=11:LP=38: SS$=LEFT$(SU$(3),1)
  56.    LOCATE PTR,LP:PRINT"         ":LOCATE PTR,LP:PRINT  SU$(3)
  57.    LOCATE PTR,LP:GOSUB GAK
  58.    IF C$="" THEN LOCATE PTR,LP:PRINT SU$(3):GOTO NOF
  59.    SU$(3)=C$:
  60.    XX% = VAL(SU$(3)):IF XX% > 9999 THEN PRINT CHR$(7):SU$(3)=SU$(2):GOTO NSP
  61.    ZZ% = VAL(SU$(2)):IF XX% < ZZ% THEN PRINT CHR$(7):SU$(3)=SU$(2):GOTO NSP
  62.    LOCATE PTR,LP:PRINT"               ":LOCATE PTR,LP:PRINT  SU$(3)
  63.    
  64. NOF:
  65.    PTR=13:LP=38: SS$=LEFT$(SU$(4),1)
  66.    LOCATE PTR,LP:PRINT "     ":LOCATE PTR,LP:PRINT  SU$(4)
  67.    LOCATE PTR,LP:GOSUB GAK
  68.    IF C$="" THEN LOCATE PTR,LP:PRINT SU$(4): GOTO CSH
  69.    SU$(4)=C$                             
  70.    LOCATE PTR,LP:PRINT "     ":LOCATE PTR,LP:PRINT SU$(4)
  71.    GOTO CSH
  72.                               
  73. WARN:
  74.    COLOR 1,0:FOR I= 6 TO 14:LOCATE I,55:PRINT"                       ";:NEXT
  75.    LOCATE 6,56:PRINT "Your Logbook Program";:
  76.    LOCATE 7,56:PRINT "automaticly   adjust";:
  77.    LOCATE 8,56:PRINT "your info files ONLY";:
  78.    LOCATE 9,56:PRINT "if you want to wipe-";:
  79.    LOCATE 10,56:PRINT "out all your informa-";:
  80.    LOCATE 11,56:PRINT "tion SET CURRENTspace";:
  81.    LOCATE 12,56:PRINT "to NUMBER > 1 <  and";:
  82.    LOCATE 13,56:PRINT "INCREASEspace to wan-";:
  83.    LOCATE 14,56:PRINT "ted number.....";:
  84.    COLOR 2,1:
  85. RETURN
  86.      
  87.     
  88.  
  89. GAK: 'Get A Key
  90.    F=0:C$=""
  91.    LOCATE PTR,LP:COLOR 2,3:PRINT SS$;:COLOR 2,1
  92.  
  93. KEYIN:                       
  94.    A$=INKEY$
  95.    IF A$=CHR$(32)THEN GOTO MV
  96.    A$=UCASE$(A$)
  97.    IF A$="" THEN GOTO KEYIN
  98.    IF A$=CHR$(8) THEN GOTO BS
  99.    SK=LEN(C$):IF SK>0 THEN GOTO SP
  100.    IF A$=CHR$(27) THEN FL=3:GOSUB 81:GOTO MAKEDATA
  101.    IF A$=CHR$(127) THEN RUN "RADIO-LOG"
  102. SP:
  103.    IF A$=CHR$(13) THEN GOTO SW
  104.    IF A$>CHR$(57) AND A$<CHR$(65) THEN GOTO KEYIN
  105.    IF A$>CHR$(46) AND A$<CHR$(91) THEN GOTO MV
  106.    IF F=0 THEN GOTO KEYIN
  107.    
  108. SW:
  109.    LOCATE PTR,LP:PRINT C$;:COLOR 2,1:PRINT " "
  110.    RETURN
  111.    
  112. MV:
  113.    C$=C$+A$:LOCATE PTR,LP:PRINT C$;
  114.    COLOR 1,3:PRINT " ":COLOR 2,1
  115.    GOTO KEYIN
  116.    
  117. BS:
  118.    L=LEN(C$)-1:IF L=-1 THEN GOTO KEYIN
  119.    C$=LEFT$(C$,L)
  120.    LOCATE PTR,LP:PRINT C$;:
  121.    COLOR 1,3:PRINT " ";:COLOR 2,1:PRINT " "
  122.    GOTO KEYIN        
  123.  
  124. INIT:
  125.    OPEN "I",#1,"SETUP"
  126.    FOR I = 1 TO 4
  127.    INPUT #1,SU$(I)
  128.    NEXT
  129.    CLOSE #1
  130.    US$(1)=SU$(1)
  131.    US$(2)=SU$(2)
  132.    SU$(3)=SU$(2)
  133.    X=INT(LEN(SU$(1))/2):Z=33-X
  134. RETURN
  135.    
  136. MAKEDATA:
  137.    LOCATE 9,5:PRINT " Please WAIT, now writing to files   "
  138. IF XX% > ZZ% THEN GAH
  139. IF SU$(2) = US$(2) THEN WRISETUP
  140. GAH:
  141.  
  142.    LOCATE 9,5:PRINT "Please WAIT, now updating files......."
  143.    LOCATE 12,5:PRINT "Updating DATA file from ";SU$(2);" TO ";SU$(3);" Lines..."
  144.    LOCATE 15,5:PRINT "Writing DATA to file > Line NUMBER = "
  145.    S$=SU$(2):I%=VAL(S$)-1
  146.    E$=SU$(3):E%=VAL(E$)+1:SU$(2)=E$:SU$(3)=E$
  147.    FL=1:IF I%= 0 THEN FL=0
  148.  
  149.    DT$="":CS$="":TM$="":FQ$="":RO$=""
  150.    RI$="":NM$="":QT$="":QL$=""
  151.    OPEN "R",#1,"LOGFIL",59
  152.    FIELD #1,10 AS A$,9 AS B$,5 AS C$,6 AS D$,3 AS E$,3 AS F$,9 AS G$,13 AS H$, 1 AS I$
  153.  
  154. START:
  155.  
  156.    I%=I%+1:IF I%=E% THEN CLOSE #1:GOTO WRI.INNUM
  157.    LOCATE 15,41: PRINT I%;:
  158.    LSET A$ = DT$
  159.    LSET B$ = CS$
  160.    LSET C$ = TM$
  161.    LSET D$ = FQ$
  162.    LSET E$ = RO$
  163.    LSET F$ = RI$
  164.    LSET G$ = NM$
  165.    LSET H$ = QT$
  166.    LSET I$ = QL$
  167.    PUT #1,I%
  168.    GOTO START
  169.   
  170. WRI.INNUM:
  171.    IF FL=1 THEN WRISETUP
  172.    NUM=0
  173.    OPEN "INFLOG" FOR OUTPUT AS #1 
  174.    WRITE #1,NUM
  175.    CLOSE #1
  176.    KILL"INFLOG.INFO"
  177. WRISETUP:
  178.    OPEN "SETUP"FOR OUTPUT AS #1
  179.    FOR I = 1 TO 4
  180.    WRITE #1,SU$(I)
  181.    NEXT
  182.    CLOSE #1
  183.    KILL"SETUP.INFO" 
  184. RUN "RADIO-LOG"
  185.   
  186.   
  187.  
  188.    
  189.    
  190.    
  191.